<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>筛选对象键值</title>
</head>

<body>
    <script>
        //
        var obj = { name: '张三', age: 18, gender: '男', address: '北京', phone: '12345678901' };
        // JS对象串转 Json 字符：使用 JSON.stringify() 方法
        // JSON.stringify() 方法可以由 3个参数
        // 第一个参数：要转换的对象
        // 第二个参数：可以是数组或函数，如果是数组，则仅转换数组中指定的元素，如果是函数，则可以自定义转换规则
        // 第三个参数：表示是否纯文本输出，文本缩进、空格、换行符 \n
        var fun = function (key, value) {
            if (value === '男') {
                return '女';
            }
            return value;
        }
        var json1 = JSON.stringify(obj);    //{"name":"张三","age":18,"gender":"男","address":"北京","phone":"12345678901"}
        var json2 = JSON.stringify(obj, ['name', 'age']);   //{"name":"张三","age":18}
        var json3 = JSON.stringify(obj, fun)   //{"name":"张三","age":18,"gender":"女","address":"北京","phone":"12345678901"}
        var json4 = JSON.stringify(obj, null, 6);  //表示每个键值对之间有 6个空格。
        
        console.log(json1);
        console.log(json2);
        console.log(json3);
        console.log(json4);

    </script>
</body>

</html>